<?php

Route::group(array('prefix' => 'car_balance', 'before' => 'auth|car_users'), function() {

  # Main Management
  Route::group(array('prefix' => 'main'), function()
  {
    Route::get('/car-list', array('as' => 'car_balance.main.car_list', 'uses' => 'nimo\domains\car_balance\controllers\MainController@purchaseCarList'));
    Route::post('/car-list', array('as' => 'car_balance.main.car_list_filter', 'uses' => 'nimo\domains\car_balance\controllers\MainController@purchaseCarList'));
    Route::any('/car/{id}/re-auction', array('as' => 'car_balance.main.re_auction', 'uses' => 'nimo\domains\car_balance\controllers\MainController@reAuction'));
    Route::any('display', array('as' => 'car_balance.main.display', 'uses' => 'nimo\domains\car_balance\controllers\MainController@display'));
    
    Route::get('/', array('as' => 'car_balance.money_exchange.index', 'uses' => 'nimo\domains\car_balance\controllers\MoneyExchangeController@getIndex'));
    Route::get('{id}/show', array('as' => 'car_balance.money_exchange.show', 'uses' => 'nimo\domains\car_balance\controllers\MoneyExchangeController@getShow'));
    
  });

  # Backoffice Action
  Route::group(array('prefix' => 'backoffice', 'before' => 'backoffice_users'), function()
  {
    Route::get('/recycle_csv', array('as' => 'car_balance.main.recycle_csv', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@getRecycle'));
    Route::post('/recycle_csv', 'nimo\domains\car_balance\controllers\BackofficeController@postRecycle');
    Route::any('/document-car-list', array('as' => 'car_balance.main.document_car_list', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@documentCarList'));
    Route::any('/document-car-list', array('as' => 'car_balance.main.document_car_list_filter', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@documentCarList'));
    Route::any('/document-car/{id}/status', array('as' => 'car_balance.main.backoffice', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@documentStatus'));
    Route::any('/document-car/{id}/set-status', array('as' => 'car_balance.main.car_set_status', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@setStatus'));
    Route::get('/document-car-list/set-shakensyo', array('as' => 'car_balance.main.set_shakensyo', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@setShakensyo'));
    Route::get('/document-car-list/set-number-arrival', array('as' => 'car_balance.main.set_number_arrival', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@setNumberArrival'));
    Route::any('/fax_transmission_list', array('as' => 'car_balance.main.fax_transmission_list', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@faxTransmissionList'));
    Route::any('/fax_transmission_list', array('as' => 'car_balance.main.fax_transmission_list_filter', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@faxTransmissionList'));
    Route::get('/fax_send', array('as' => 'car_balance.main.fax_send', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@faxSend'));
    Route::get('/getFaxDetial', array('as' => 'car_balance.main.getFaxDetial', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@getFaxDetial'));
    
    # MoneyExchange Management
    Route::group(array('prefix' => 'money_exchange'), function()
    {
        Route::get('create', array('as' => 'car_balance.money_exchange.create', 'uses' => 'nimo\domains\car_balance\controllers\MoneyExchangeController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\MoneyExchangeController@postCreate');
        Route::get('{id}/edit', array('as' => 'car_balance.money_exchange.edit', 'uses' => 'nimo\domains\car_balance\controllers\MoneyExchangeController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\MoneyExchangeController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.money_exchange.delete', 'uses' => 'nimo\domains\car_balance\controllers\MoneyExchangeController@getDelete'));
    });
    # MoneyTransfer Management
    Route::group(array('prefix' => 'money_transfer'), function()
    {
        Route::get('/', array('as' => 'car_balance.money_transfer.index', 'uses' => 'nimo\domains\car_balance\controllers\MoneyTransferController@getIndex'));
        Route::get('create', array('as' => 'car_balance.money_transfer.create', 'uses' => 'nimo\domains\car_balance\controllers\MoneyTransferController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\MoneyTransferController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.money_transfer.show', 'uses' => 'nimo\domains\car_balance\controllers\MoneyTransferController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.money_transfer.edit', 'uses' => 'nimo\domains\car_balance\controllers\MoneyTransferController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\MoneyTransferController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.money_transfer.delete', 'uses' => 'nimo\domains\car_balance\controllers\MoneyTransferController@getDelete'));
    });
    
  });
  
  # Manager Action
  Route::group(array('prefix' => 'manage', 'before' => 'manager_users'), function()
  {
    Route::any('/summary', array('as' => 'car_balance.main.summary', 'uses' => 'nimo\domains\car_balance\controllers\SummaryController@mainSummary'));
    Route::any('/summary2', array('as' => 'car_balance.main.summary', 'uses' => 'nimo\domains\car_balance\controllers\SummaryController@mainSummary2'));
    Route::get('/export_car_list', array('as' => 'car_balance.main.export_car_list', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@exportCarList'));
    Route::get('/export_car_list_xls', array('as' => 'car_balance.main.export_car_list_xls', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@exportCarListXls'));
    Route::get('/import_car_list', array('as' => 'car_balance.main.import_car_list', 'uses' => 'nimo\domains\car_balance\controllers\BackofficeController@importCarList'));
    Route::post('/import_car_list', 'nimo\domains\car_balance\controllers\BackofficeController@importCarListXls');

    Route::group(array('prefix' => 'attach'), function(){
        // only manager user
        Route::get('/action', array('as' => 'car_balance.attach.action', 'uses' => 'nimo\domains\car_balance\controllers\AttachmentController@actionManager'));
    });
    
    # Customer Management
    Route::group(array('prefix' => 'customer'), function()
    {
        Route::get('/', array('as' => 'car_balance.customer.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getIndex'));
        Route::get('create', array('as' => 'car_balance.customer.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\CustomerController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.customer.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.customer.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\CustomerController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.customer.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.customer.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerController@getRestore'));
    });
    # Customer Bill Type - Management
    Route::group(array('prefix' => 'customerBillType'), function()
    {
        Route::get('/', array('as' => 'car_balance.customerBillType.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@getIndex'));
        Route::get('create', array('as' => 'car_balance.customerBillType.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.customerBillType.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.customerBillType.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.customerBillType.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\CustomerBillTypeController@getDelete'));
    });
    # CarAuction Management
    Route::group(array('prefix' => 'car_auction'), function()
    {
        Route::get('/', array('as' => 'car_balance.car_auction.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getIndex'));
        Route::get('create', array('as' => 'car_balance.car_auction.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\CarAuctionController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.car_auction.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.car_auction.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\CarAuctionController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.car_auction.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.car_auction.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionController@getRestore'));
    });
    # CarAuctionType Management
    Route::group(array('prefix' => 'car_auction_type'), function()
    {
        Route::get('/', array('as' => 'car_balance.car_auction_type.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getIndex'));
        Route::get('create', array('as' => 'car_balance.car_auction_type.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.car_auction_type.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.car_auction_type.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.car_auction_type.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.car_auction_type.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarAuctionTypeController@getRestore'));
    });
    
    # ServiceCompany Management
    Route::group(array('prefix' => 'service_company'), function()
    {
        Route::get('/', array('as' => 'car_balance.service_company.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getIndex'));
        Route::get('create', array('as' => 'car_balance.service_company.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.service_company.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.service_company.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.service_company.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.service_company.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\ServiceCompanyController@getRestore'));
    });
    # TransportCompany Management
    Route::group(array('prefix' => 'transport_company'), function()
    {
        Route::get('/', array('as' => 'car_balance.transport_company.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getIndex'));
        Route::get('create', array('as' => 'car_balance.transport_company.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.transport_company.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.transport_company.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.transport_company.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.transport_company.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportCompanyController@getRestore'));
    });
    # VanningCompany Management
    Route::group(array('prefix' => 'vanning_company'), function()
    {
        Route::get('/', array('as' => 'car_balance.vanning_company.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getIndex'));
        Route::get('create', array('as' => 'car_balance.vanning_company.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.vanning_company.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.vanning_company.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.vanning_company.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.vanning_company.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyController@getRestore'));
    });
    # VanningCompanyBranch Management
    Route::group(array('prefix' => 'vanning_company_branch'), function()
    {
        Route::get('/', array('as' => 'car_balance.vanning_company_branch.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getIndex'));
        Route::get('create', array('as' => 'car_balance.vanning_company_branch.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.vanning_company_branch.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.vanning_company_branch.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.vanning_company_branch.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.vanning_company_branch.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\VanningCompanyBranchController@getRestore'));
    });
    # Bank Management
    Route::group(array('prefix' => 'bank'), function()
    {
        Route::get('/', array('as' => 'car_balance.bank.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankController@getIndex'));
        Route::get('create', array('as' => 'car_balance.bank.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\BankController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.bank.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.bank.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\BankController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.bank.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankController@getDelete'));
    });
    # BankAccount Management
    Route::group(array('prefix' => 'bank_account'), function()
    {
        Route::get('/', array('as' => 'car_balance.bank_account.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankAccountController@getIndex'));
        Route::get('create', array('as' => 'car_balance.bank_account.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankAccountController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\BankAccountController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.bank_account.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankAccountController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.bank_account.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankAccountController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\BankAccountController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.bank_account.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\BankAccountController@getDelete'));
    });
    # ExchangeRate Management
    Route::group(array('prefix' => 'exchange_rate'), function()
    {
        Route::get('/', array('as' => 'car_balance.exchange_rate.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@getIndex'));
        Route::get('create', array('as' => 'car_balance.exchange_rate.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.exchange_rate.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.exchange_rate.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.exchange_rate.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\ExchangeRateController@getDelete'));
    });
    # CarMaker Management
    Route::group(array('prefix' => 'carmaker'), function()
    {
        Route::get('/', array('as' => 'car_balance.carmaker.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@index'));
        Route::get('create', array('as' => 'car_balance.carmaker.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@create'));
        Route::post('store', array('as' => 'car_balance.carmaker.store', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@store'));
        Route::get('{id}', array('as' => 'car_balance.carmaker.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@show'));
        Route::get('{id}/edit', array('as' => 'car_balance.carmaker.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@edit'));
        Route::patch('{id}/update', array('as' => 'car_balance.carmaker.update', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@update'));
        Route::delete('{id}/destroy', array('as' => 'car_balance.carmaker.destroy', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@destroy'));
        Route::get('{id}/up', array('as' => 'car_balance.carmaker.up', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@up'));
        Route::get('{id}/down', array('as' => 'car_balance.carmaker.down', 'uses' => 'nimo\domains\car_balance\controllers\crud\CarMakerController@down'));
    });
    # FaxAccount Management
    Route::group(array('prefix' => 'fax_account'), function()
    {
        Route::get('/', array('as' => 'car_balance.fax_account.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getIndex'));
        Route::get('create', array('as' => 'car_balance.fax_account.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\FaxAccountController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.fax_account.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.fax_account.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\FaxAccountController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.fax_account.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getDelete'));
        Route::get('{id}/restore', array('as' => 'car_balance.fax_account.restore', 'uses' => 'nimo\domains\car_balance\controllers\crud\FaxAccountController@getRestore'));
    });
    # ReAuction Management
    Route::group(array('prefix' => 're_auction'), function()
    {
        Route::get('/', array('as' => 'car_balance.re_auction.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\ReAuctionController@getIndex'));
        Route::get('create', array('as' => 'car_balance.re_auction.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\ReAuctionController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\ReAuctionController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.re_auction.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\ReAuctionController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.re_auction.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\ReAuctionController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\ReAuctionController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.re_auction.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\ReAuctionController@getDelete'));
    });
    # TransportFeePay Management
    Route::group(array('prefix' => 'transport_fee_pay'), function()
    {
        Route::get('/', array('as' => 'car_balance.transport_fee_pay.index', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@getIndex'));
        Route::get('create', array('as' => 'car_balance.transport_fee_pay.create', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@getCreate'));
        Route::post('create', 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@postCreate');
        Route::get('{id}/show', array('as' => 'car_balance.transport_fee_pay.show', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@getShow'));
        Route::get('{id}/edit', array('as' => 'car_balance.transport_fee_pay.edit', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@getEdit'));
        Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@postEdit');
        Route::get('{id}/delete', array('as' => 'car_balance.transport_fee_pay.delete', 'uses' => 'nimo\domains\car_balance\controllers\crud\TransportFeePayController@getDelete'));
    });
  });

  # PurchaseCar Management
  Route::group(array('prefix' => 'car'), function()
  {
      Route::get('create/step1', array('as' => 'car_balance.car.create.step1', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getCreateStep1'));
      Route::post('create/step1', 'nimo\domains\car_balance\controllers\CarController@postCreateStep1');
      Route::get('create/step2', array('as' => 'car_balance.car.create', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getCreate'));
      Route::post('create/step2', 'nimo\domains\car_balance\controllers\CarController@postCreate');
      Route::get('{id}/expense', array('as' => 'car_balance.car.expense', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getEditExpense'));
      Route::post('{id}/expense', 'nimo\domains\car_balance\controllers\CarController@postEditExpense');
      Route::get('{id}/show', array('as' => 'car_balance.car.car_show', 'uses' => 'nimo\domains\car_balance\controllers\CarController@purchaseCar'));
      Route::get('{id}/edit', array('as' => 'car_balance.car.car_edit', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getEdit'));
      Route::get('{id}/update_comment', array('as' => 'car_balance.car.update_comment', 'uses' => 'nimo\domains\car_balance\controllers\CarController@postUpdateComment'));
      Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\CarController@postEdit');
      Route::get('{id}/delete', array('as' => 'car_balance.car.car_delete', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getDelete'));
      Route::get('/getCarName', array('as' => 'car_balance.car.getCarName', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getCarNames'));
      Route::get('{id}/create_penalty', array('as' => 'car_balance.car.create_penalty', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getCreatePenalty'));
      Route::post('{id}/create_penalty', 'nimo\domains\car_balance\controllers\CarController@postCreatePenalty');
      Route::get('{id}/{penaltyId}/edit_penalty', array('as' => 'car_balance.car.edit_penalty', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getEditPenalty'));
      Route::post('{id}/{penaltyId}/edit_penalty', 'nimo\domains\car_balance\controllers\CarController@postEditPenalty');
      Route::get('{id}/{penaltyId}/delete_penalty', array('as' => 'car_balance.car.delete_penalty', 'uses' => 'nimo\domains\car_balance\controllers\CarController@getDeletePenalty'));
  });

  # Container Management
  Route::group(array('prefix' => 'container'), function()
  {
      Route::match(array('GET', 'POST'), '/', array('as' => 'car_balance.container.index', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getIndex'));
      Route::match(array('GET', 'POST'), '/confirmed', array('as' => 'car_balance.container.confirmed', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getConfirmedContainerList'));
      Route::match(array('GET', 'POST'), '/create', array('as' => 'car_balance.container.create', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getCreate'));
      Route::get('{id}/detail', array('as' => 'car_balance.container.detail', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getDetail'));
      Route::get('/{id}/edit', array('as' => 'car_balance.container.edit', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getEdit'));
      Route::post('/{id}/edit', 'nimo\domains\car_balance\controllers\ContainerController@postEdit');
      Route::get('/{id}/settle', array('as' => 'car_balance.container.settle', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@postSettle'));
      Route::get('/{id}/removeCar', array('as' => 'car_balance.container.removeCar', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getRemoveCarFromContainer'));
      Route::get('{id}/delete', array('as' => 'car_balance.container.delete', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getDelete'));
      Route::match(array('GET', 'POST'),'/carlist', array('as' => 'car_balance.container.carlist', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getContainerableCarList'));
      Route::match(array('GET', 'POST'), '/changeContainer', array('as' => 'car_balance.container.changeCarContainer', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@postChangeCarContainer'));
      Route::get('/{id}/recycle', array('as' => 'car_balance.container.recycle', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getRecycle'));
      Route::post('/{id}/recycle', 'nimo\domains\car_balance\controllers\ContainerController@postRecycle');
      Route::get('/{id}/attach', array('as' => 'car_balance.container.container_bill', 'uses' => 'nimo\domains\car_balance\controllers\ContainerController@getAttach'));
      Route::post('/{id}/attach', 'nimo\domains\car_balance\controllers\ContainerController@postAttach');
  });

  # Parts Management
  Route::group(array('prefix' => 'parts'), function()
  {
      Route::get('/', array('as' => 'car_balance.parts.index', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getIndex'));
      Route::post('/', array('as' => 'car_balance.parts.list_filter', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getIndex'));
      Route::get('create', array('as' => 'car_balance.parts.create', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getCreate'));
      Route::post('create', 'nimo\domains\car_balance\controllers\PartsController@postCreate');
      Route::get('{id}/show', array('as' => 'car_balance.parts.show', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getShow'));
      Route::get('{id}/edit', array('as' => 'car_balance.parts.edit', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getEdit'));
      Route::post('{id}/edit', 'nimo\domains\car_balance\controllers\PartsController@postEdit');
      Route::get('{id}/delete', array('as' => 'car_balance.parts.delete', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getDelete'));
      Route::get('{id}/cancel', array('as' => 'car_balance.parts.cancel', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getCancel'));
      Route::get('{id}/uncancel', array('as' => 'car_balance.parts.uncancel', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getUnCancel'));
      Route::get('{id}/restore', array('as' => 'car_balance.parts.restore', 'uses' => 'nimo\domains\car_balance\controllers\PartsController@getRestore'));
  });

  # Bill Management
  Route::group(array('prefix' => 'bill'), function()
  {
      Route::get('create/step1', array('as' => 'car_balance.bill.create.step1', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getCreateStep1'));
      Route::post('create/step1', array('as' => 'car_balance.bill.create.step1_filter', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getCreateStep1'));
      Route::get('create/step', array('as' => 'car_balance.bill.create.step', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getCreateStep'));
      Route::get('create/step2', array('as' => 'car_balance.bill.create.step2', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getCreate'));
      Route::post('create/step2', 'nimo\domains\car_balance\controllers\BillController@postCreate');
      Route::match(array('GET', 'POST'), '/', array('as' => 'car_balance.bill.index', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getIndex'));
      Route::match(array('GET', 'POST'), '/create', array('as' => 'car_balance.bill.create', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getCreate'));
      Route::get('/{id}/edit', array('as' => 'car_balance.bill.edit', 'uses' => 'nimo\domains\car_balance\controllers\BillController@getEdit'));
      Route::post('/{id}/edit', 'nimo\domains\car_balance\controllers\BillController@postEdit');
      Route::get('{id}/detial', array('as' => 'car_balance.bill.detial', 'uses' => 'nimo\domains\car_balance\controllers\BillController@billDetial'));
      Route::get('/edit_transport_other', array('as' => 'car_balance.bill.edit_transport_other', 'uses' => 'nimo\domains\car_balance\controllers\BillController@postTransportOther'));
  });
});

